For many years in the past the processing speed of computer processor units (CPUs) steadily increased; more recently it has leveled out. As a result of that leveling, the market has moved toward multiple-core processor designs in which two or more physical processor cores work concurrently. Symmetric multi-processing (SMP), for example, is a multiprocessor architecture in which multiple processor cores share a memory and are operated by a common operating system.
In theory, two concurrently operating processors would be substantially twice as fast as just one, and the logical extension of that theory is that sixteen processors would be sixteen times faster than just one. However, scalability comes at a high price of overcoming difficult programming difficulties. The multiple processors in an SMP system are connected together such as by a bus or a crossbar switch and the like, or by a network connection. The operating system and the software/firmware must control both the processing activities of the individual processors as well as the intercommunications amongst the processors. There is a significant performance cost due just to the overhead of hardware interrupts that are necessary to process the piecemeal software and kernel threads. Although improvements can be realized by the use of compilers and distributed storage programming techniques, there is a limit at which the addition of more processors begins to actually diminish the overall data processing power.
The enormous processing power of modern processor complexes has ushered in a more recent trend toward employing a hypervisor to create and manage one or preferably a number of virtual machines (VMs) that run completely independent instances of firmware. However, the hypervisor model is constrained by the operating system it runs, and as such is suboptimal with respect to stewardship of hardware resource usage. What is needed is to break away from the hypervisor model by otherwise controlling what resources are not available to the general purposes of the operating system for the reason that they have been reserved for a specially designated purpose. It is to these and other improvements that embodiments of the present invention are directed.